1
Arquitectura de Portabilidad en Clústeres Heterogéneos
AI022Lesson 2
00:00

El núcleo de la Interfaz de Computación Heterogénea para Portabilidad (HIP) radica en su capacidad para abstraer herramientas específicas del hardware en una API unificada de tiempo de ejecución en C++. Al utilizar un Paradigma de Código Único, los desarrolladores pueden mantener una única base de código que se mapea dinámicamente a los backends de NVIDIA o AMD.

1. Resolución de Hardware Basada en Rutas

La arquitectura depende de marcadores de entorno para actuar como puntos de referencia navegables para el sistema de compilación. Estos marcadores indican al hipcc envoltorio del compilador dónde encontrar las bibliotecas y encabezados necesarios del dispositivo.

  • CUDA_PATH: El punto principal de referencia para la pila de NVIDIA (flujos de trabajo NVCC/PTX).
  • HIP_PATH: El punto principal de referencia para la pila de AMD ROCm (flujos de trabajo Clang/LLVM).
Código Fuente HIPPila de NVIDIA$CUDA_PATHPila de AMD ROCm$HIP_PATHClúster Heterogéneo

2. Abstracción de la Pila de Computación

La portabilidad se logra al desacoplar la capa de aplicación de la microarquitectura. La lógica se resuelve en tiempo de compilación usando hipcc, asegurando que el mantenimiento de código $O(1)$ resulte en compatibilidad con hardware $O(N)$.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>